有的時候我們處理資料難免會遇到需要篩選的時候
畢竟總不可能隨時都一句「我全都要」吧
我全都要(圖片來自網路)
因此我們今天來談一下在python中那些對資料進行篩選的方法
# 篩選list-使用列表推導式
list1 = [1,2,3,4,5,6]
list2 = [x for x in list1 if x % 2 == 1] # 篩選奇數元素
list2
# [1, 3, 5]
# 篩選list-使用filter()
list1 = [1,2,3,4,5,6]
list2 = list(filter(lambda x : x % 2 == 1, list1)) # 記得要再放進去list()裡面才會得到list
list2
# [1, 3, 5]
# 篩選dict
dict1 = {"a":1, "b":2, "c":3}
# 按key篩選
dict2 = {k:v for k,v in dict1.items() if k in ["a","c"]} # 篩選key是a或c的
dict2
# {'a': 1, 'c': 3}
# 按value篩選
dict3 = {k:v for k,v in dict1.items() if v%2 == 1} # 篩選value是奇數的
dict3
# {'a': 1, 'c': 3}
# 篩選DataFrame
import pandas as pd
df = pd.DataFrame({"a":[1,2,3], "b":[4,5,6], "c":[7,8,9], "d":[True, True,False]})
df
# 篩選a,c col
df[["a","c"]]
# 根據布林col來篩選
df[df["d"]] # 只會取出d-col中為True的結果
isin
篩選特定條件mask = df.isin({"a":[1,3], "b":[4,5], "c":[7,8,9], "d":[True,False]})
mask
df[mask]
df["col_name"].str.contains("some text")
為什麼「全都要」是這張圖?
最初是九品芝麻官的那一幕
結果後來就開始抽象化的過程XD
https://jikipedia.com/definition/1069903267?action=%5Bobject%20PointerEvent%5D
... 我果然老了
啊其實我覺得這個梗應該才算是比較老吧XD
我之前去補習班教高中生結果發現現在的小孩已經都沒怎麼看過周星馳的電影了?